/*
 * @lc app=leetcode.cn id=682 lang=javascript
 *
 * [682] 棒球比赛
 */

// @lc code=start
/**
 * @param {string[]} ops
 * @return {number}
 */
// var calPoints = function(ops) {
//   let stack = [];
//   for(let i = 0; i<ops.length; i++){
//     switch (ops[i]){
//       case "+":
//         stack.push(stack[stack.length - 1] + stack[stack.length - 2]);
//         break;
//       case "D":
//         stack.push(stack[stack.length - 1] << 1);
//         break;
//       case "C":
//         stack.pop();
//         break;
//       default:
//         stack.push(+ops[i])
//     }
//   }
//   return stack.reduce((a,b)=>a+b, 0);
// };


/**
 * 复习 2021-08-04
 */

var getscore = function(ops, stack) {
  switch(ops){
    case "C":
      return null;
    case "D":  
      return +stack[stack.length -1] << 1;
    case "+": 
      return +stack[stack.length -1] + +stack[stack.length -2];
    default: 
      return ops;
  }
}
var calPoints = function(ops) {
  let stack = [];
  for (let i = 0; i < ops.length; i++) {
    let score = getscore(ops[i], stack);
    if(!score){
      stack.pop();
    } else {
      stack.push(score);
    }
  }

  return stack.reduce(function(ret, a){
    return ret + +a;
  }, 0)
}
// @lc code=end

